Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вывод 16ричных данных ( MW ) с ПЛК на HMI
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
ПутникКЗ
Нажмите для просмотра прикрепленного файлаДоброго дня !

В общем картина такая, купил поюзать панель HMI Samkon и ПЛК копия Сименс 222, похоже тоже Samkon/

Опыта маловато в программировании плк и панелей, образовываюсь по немного.
Сделал счётчик, маркер присвоил кнопке, кнопку создал в плк и прописал адрес , работает, счётчик не могу привязать. В панели есть возможность данные 16ричные отображать в фиче, там показывает цифры, можно что угодно привязать, я привязал счётчик пропустив его данные через перемещение создав адрес в MW. Адрес MW указал в этой фиче, именно оттуда и должны браться переменные эти, цифры не меняются. Возможно такое что скорость обработки маленькая? на панели? или я не правильно что-то делаю? Когда делаю отработку программы на плк в программе, там цифры меняются, на панели нет, вообще не показывает.
olg2004
счетчик в плк?
ПутникКЗ
Здравствуйте.
Да, счетчик.
Выше пост писал, я уже разобрался.

теперь другой вопрос, как мне в LAD сделать чтобы сложение импульса С1 прибавлялось в , не то что какой импульс последний, чтобы каждый импульс складывался, добавлялся и чтобы данные в переносе на адрес MW4 сохранялись, каждый рас увеличиваясь, пока не отчищу область памяти MW / Хочу в цифровом табло на панели это видеть, не тупо одна чтобы цифра показывалась, чтобы менялось на увеличение.

На фото я тут наколдовал, но что-то не получается. Из таблицы беру MW 2 , показывает 257, из MW3 брал, тоже 257, не складывается что-то не сохраняется. Какие команды мне нужны? какая последовательность?
olg2004
может на FBD перейдете, там попроще.
язык релейной логики не очень удобен в таком случае
ПутникКЗ
Да тоже самое, не многим другое..

Мне вообще без разницы на каком языке, мне понять как написать, чтобы получилось как я хочу.

Дальше осваивать буду тоже вопросы будут. Язык не принципиален. мне надо понимать как и чем оперировать.

Цитата(olg2004 @ 25.1.2023, 16:13) *
может на FBD перейдете, там попроще.
язык релейной логики не очень удобен в таком случае

Или я вас не понял, вы имели виду что вам будет понятно на этом языке? вы сможете мне помочь?
olg2004
Цитата(ПутникКЗ @ 25.1.2023, 13:24) *
Да тоже самое, не многим другое..

Мне вообще без разницы на каком языке, мне понять как написать, чтобы получилось как я хочу.

Дальше осваивать буду тоже вопросы будут. Язык не принципиален. мне надо понимать как и чем оперировать.


Или я вас не понял, вы имели виду что вам будет понятно на этом языке? вы сможете мне помочь?


FBD оно ближе к электронике/логике как это перевести в древние контакты не всегда знаю. С ваших слов я так понял вам нужен блок "суммирующий счетчик с памятью текущегозначения" - MCTU.

ПутникКЗ
Цитата(olg2004 @ 25.1.2023, 17:29) *
FBD оно ближе к электронике/логике как это перевести в древние контакты не всегда знаю. С ваших слов я так понял вам нужен блок "суммирующий счетчик с памятью текущегозначения" - MCTU.


Наверное, он в инструкциях он есть? или это надо отдельно подпрограмму создавать?

Если вы можете написать то напишите на любом языке вам удобном, мне понять архитектуру.
olg2004
Цитата(ПутникКЗ @ 25.1.2023, 14:45) *
Наверное, он в инструкциях он есть? или это надо отдельно подпрограмму создавать?

Если вы можете написать то напишите на любом языке вам удобном, мне понять архитектуру.


Ну как то так, в основном это готовый блок Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла
ПутникКЗ
Нет, мне не это надо, с него данные не получается брать, он досчитывает и сбрасывает PV. Мне именно надо чтобы с кнобки можно было или с счётчика или таймера брать, потом инкрементировать, потом сохранить так чтобы при каждом инкременте число увеличивалось.
ПутникКЗ
Правильнее назвать это тем же счётчиком, только прямым, без константы PV.
manjey73
блоки ADD вам в помощь. должно же быть сложение банальное что в LAD что в FBD
Ну и использование MOVE с разрешением по EN перед сложением, а то каждый цикл прибавляться все будет.
ПутникКЗ
Цитата(manjey73 @ 25.1.2023, 19:51) *
блоки ADD вам в помощь. должно же быть сложение банальное что в LAD что в FBD
Ну и использование MOVE с разрешением по EN перед сложением, а то каждый цикл прибавляться все будет.


Если не затруднит, пример можете дать? или готовое решение. Вот, фото, не получается, мне пример нужен.
olg2004
Цитата(ПутникКЗ @ 25.1.2023, 15:54) *
Нет, мне не это надо, с него данные не получается брать, он досчитывает и сбрасывает PV. Мне именно надо чтобы с кнобки можно было или с счётчика или таймера брать, потом инкрементировать, потом сохранить так чтобы при каждом инкременте число увеличивалось.


Ну так он досчитывает до максимума 36500 и срабатывает пв и идет на следующий счетчик а эти складываются, можешь считать кол-во срабатываний пв и плюсовать их по итогу
ПутникКЗ
Может примеры где есть? ссылку может даст кто? может кто-то писал что-то подобное? Я чтото не правильно делаю.
ПутникКЗ
Получилось, читает так как мне надо, правда без сброса счётчика, просто контакт сделал инверсный, можно будет его к таймеру привязать, или ещё для чего-то.
Теперь буду делать другое, надо считать импульсы чтобы высчитывать среднее нажатие кнопки за 10 секунд.

Порекомендуйте что-нибудь что я бы мог в качестве задания сделать, что-нибудь для начала не сильно сложное. Был бы признателен если по ходу подсказывали. У меня есть панель HMI? там много чего придумать можно, за одно поучиться, приобрести опыт.
olg2004
Цитата(ПутникКЗ @ 25.1.2023, 18:23) *
Может примеры где есть? ссылку может даст кто? может кто-то писал что-то подобное? Я чтото не правильно делаю.


Конечно писал

импульсы следуют с частотой 100мс переводятся в секунды поступают в счетчик (а их 3) и складываются в часы.

что не правильно? Ну если не быть занудой, то этот форум когда то блистал вопросами инженерии в масштабах вселенной а скатился к до автоматизации на уровне кружка 5 класса дома пионеров smile.gif)) но это шутка

неправильно то что вы пытаетесь изучить и спросить по среде программирования 20 летней давности, я так понимаю по релейной логики у вас налаг ЛОГО Сименс. Боюсь что мало кто помнит как все это было в 2000 м году.

кто то изучил С++, кто то перешел на FBD и не парится со старыми тянутыми системами китайцами. У вас там поди еще RS232 для программирования, в 2000м был LPT.

Вторая ошибка это выбор контроллера без тех поддержки и обучения. Самое простенькое выбрать сигнетикс или овен. Хотя раньше хватало одного мануала, хотя бы на английском от почти любого ПЛК.




Цитата(ПутникКЗ @ 25.1.2023, 19:10) *
Получилось, читает так как мне надо, правда без сброса счётчика, просто контакт сделал инверсный, можно будет его к таймеру привязать, или ещё для чего-то.
Теперь буду делать другое, надо считать импульсы чтобы высчитывать среднее нажатие кнопки за 10 секунд.

Порекомендуйте что-нибудь что я бы мог в качестве задания сделать, что-нибудь для начала не сильно сложное. Был бы признателен если по ходу подсказывали. У меня есть панель HMI? там много чего придумать можно, за одно поучиться, приобрести опыт.



1. Управление ПЧ
2. Поключение датчика 4-20 мА
3. ПИД регулирование

все осилишь станешь профи
ПутникКЗ
Другая проблема, в программе симуляция показывает нормальную работу, нормальный счёт в ПЛК, при работе в панели HMI счёт непонятно идёт, 16 бит в программе для панели для панели протокол обмена, в ПЛК тоже то 16 битное. Ошибка исключена в программе ПЛК . Какая причина может быть?









Панель Samkon ПЛК копия Сименс 222 реле, протокол обмена 485 PPI панель через ЮСБ. Купил с китая для практики, много китайцев в работе попадается, по этому и взял, решил начать. В Казахстане почти везде китайцы стоят ПЛК. Мне главное всё отработать, попрактиковаться, чтобы в голове отложилось, потом с другими можно будет, думаю вообще не проблема. 1200 Сименса смотрю не сильно в перёд ушли. Английский не проблема, даже в плюс, подучу.
olg2004
Копия сименс 222


это что кстати такое?
manjey73
olg2004 смешно, а я вот для дома приобрел китайца, потому что с доставкой 2 т.р. а там LAD, теперь самому мучаться, как перенести свою же программу из FBD в туда smile.gif

Сам не силен в LAD, так как там очень важна последовательность при создании программы, про что в FBD часто забываешь...
ПутникКЗ
Цитата(manjey73 @ 26.1.2023, 12:43) *
olg2004 смешно, а я вот для дома приобрел китайца, потому что с доставкой 2 т.р. а там LAD, теперь самому мучаться, как перенести свою же программу из FBD в туда smile.gif

Сам не силен в LAD, так как там очень важна последовательность при создании программы, про что в FBD часто забываешь...

В степ 7 открыть и отдельно сохранить в FBD

Решил проблему что фото выкладывал выше. В общем у меня маркера в памяти пересекались, компиляция говорила что ошибок нет, залил, потом эта прога или контроллер, давали такие данные. В общем исправил, но, тот сектор памяти M0.0-7 теперь битые, еще и ПЛК вчера стал плохо вести, адрес в сети не меняется, не подключиться, работаю на том что раньше был выставлен.
Теперь не знаю, это качество ПЛК такое или если пересекающие области памяти в маркерах будут то и у оригинального Сименса так тоже будет и у других ПЛК производителей?.
ПутникКЗ
Думал проблема в STEP7, снёс, переустановил, не программа оказалось. ПЛК стёр полностью и залил по новому программу, сектор М0 битый. Пока разбирался, попробовал повторить ошибку в секторе памяти M5, попробовал откомпилировать, ошибок не показывал Степ 7, залил, также не работает сектор памяти М5. Сделал без пересекающихся адресов в секторе М6, всё стало работать . ПЛК на фото .Как получилось, 1 М0.0 был включен, кнопка должна была отключать, 2 М0.0 должен был включать, итог, сектора памяти М0.0-7 и М5.0-7 битые.

1. Управление ПЧ
2. Подключение датчика 4-20 мА
3. ПИД регулирование

Там как делать надо? что-то общее есть ?
manjey73
ПутникКЗ у меня программа на ПР200 Овен в FBD, где уж тут Степ7 ? smile.gif да и ПЛК китайский, аналог какого то Митсубиши, опять же Степ не пришьешь.
ПутникКЗ
1. Управление ПЧ - Это мне очень интересно.

2. Подключение датчика 4-20 мА - что для создания программы надо? как он работает? Это надо в какой папке инструкций брать блоки?
3. ПИД регулирование - как его реализовать? с чего начать?
olg2004
Цитата(ПутникКЗ @ 26.1.2023, 13:16) *
1. Управление ПЧ - Это мне очень интересно.

2. Подключение датчика 4-20 мА - что для создания программы надо? как он работает? Это надо в какой папке инструкций брать блоки?
3. ПИД регулирование - как его реализовать? с чего начать?


3. начать с законов регулирования, понять что такое ОС обртная связь и как это работает
ПутникКЗ
Ок, почитаю, потом напишу вопросы.

Цитата(olg2004 @ 26.1.2023, 16:34) *
3. начать с законов регулирования, понять что такое ОС обратная связь и как это работает

На моём ПЛК входы цифровые на 24 вольт, я смогу реализовать 4-20ма? у меня есть датчик давления 4-20ма
Я с Китая на заказывал всякое заранее, чтобы учится

Получается что для" 4-20 ма " мне необходимо докупить АЦП модуль расширения для ПЛК.
Для ПИД регулирования и ПЧ мне необходимо докупить модуль расширения ЦАП.

Придется заказывать с Китая, чтобы можно было предметно учится.
olg2004
ПЧ цепляй сразу по Modbus RTU (Remote Terminal Unit)
ПутникКЗ
Цитата(olg2004 @ 26.1.2023, 17:41) *
ПЧ цепляй сразу по Modbus RTU (Remote Terminal Unit)


Ещё бы понимать )). Я смотрел протокол обмена Модбас, там совсем по другому чем к ПЛК напрямую через ком-порт. Чтобы знать, там сложно? сложнее через протокол через ком-порт подключать? адреса памяти прописывать? там ведь другие адреса прописывать но.
olg2004
Есть адреса есть регистры есть слова запроса

Вот статья очень помогла в свое время

https://totalkip.ru/articles/podklyuchenie_...37ilee951283898
ПутникКЗ
Цитата(olg2004 @ 26.1.2023, 18:42) *
Есть адреса есть регистры есть слова запроса

Вот статья очень помогла в свое время

https://totalkip.ru/articles/podklyuchenie_...37ilee951283898



Спасибо! изучу, вопросы напишу.
ПутникКЗ
Всем привет.
Есть вопросы по специальным маркерам. Описания нет толкового.
Смотрю в примерах, маркер SM0.1 стоит в первом цикле везде в примерах, не только в первом, везде где надо включение. В другом примере маркер SM0.0 стоит в первом цикле запуска таймера, это он для первого запуска ставится?

Я использовал везде включенный ключ и обозначал это М0.0, М0.1 и тд. Как лучше ?
manjey73
на чем вы раньше программировали? в некоторых ПЛК (даже во многих, если быть точнее) маркеры предназначены для работы таймеров, триггеров.
И ПЛК ограничен их количеством. Когда маркеры заканчиваются, придется писать программные таймеры.

з.ы. не знаю, как еще вам это объяснить. Это связано с архитектурой ПЛК. маркер таймера например взводит ядро ПЛК и он может быть использован еще вначале цикла программы, если уже взведен, а не только пока цикл программы дойдет до программного таймера и тот проверит, требуется взвести маркер или нет...
ПутникКЗ
Цитата(manjey73 @ 28.1.2023, 22:25) *
на чем вы раньше программировали? в некоторых ПЛК (даже во многих, если быть точнее) маркеры предназначены для работы таймеров, триггеров.
И ПЛК ограничен их количеством. Когда маркеры заканчиваются, придется писать программные таймеры.

з.ы. не знаю, как еще вам это объяснить. Это связано с архитектурой ПЛК. маркер таймера например взводит ядро ПЛК и он может быть использован еще вначале цикла программы, если уже взведен, а не только пока цикл программы дойдет до программного таймера и тот проверит, требуется взвести маркер или нет...



Получается маркер м0.1 можно использовать в местах где требуется постоянное включение инструкции, один маркер этот можно и на 1 и на 5 инструкций и на 10 и на 100? там где требуется постоянное включение "1".

Попробовал, оказывается инструкцию можно и вообще без включения и маркера, работает.
ПутникКЗ
Привет.
Вопрос; специальные маркеры SMD, SMB , могут один раз использоваться?, их можно использовать ещё для чего-то чем управлять счётчиками и таймерами?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.